package com.zcx.excel.pojo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

@ToString
public class Price {
    @ExcelProperty(value = "id")
    @Excel(name = "id")
    private Long id;

    @ExcelProperty(value = "产品编码")
    @Excel(name = "产品编码")
    private String prodCode;

    @ExcelProperty(value = "产品英文名")
    @Excel(name = "产品英文名")
    private String prodNameEn;

    @ExcelProperty(value = "产品中文名")
    @Excel(name = "产品中文名")
    private String prodNameCn;

    @ExcelProperty(value = "产品状态")
    @Excel(name = "产品状态")
    private String status;

    @ExcelProperty(value = "说明")
    @Excel(name = "说明")
    private String comments;

    @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss", timezone = "GMT+8")
    @ExcelProperty(value = "起始开始时间")
    @Excel(name = "起始开始时间", format = "yyyy-MM-dd HH:mm:ss", width = 20)
    private Date startDate;

    @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss", timezone = "GMT+8")
    @ExcelProperty(value = "截止结束时间")
//    @ExcelIgnore
    @Excel(name = "截止结束时间", format = "yyyy-MM-dd HH:mm:ss", width = 20)
    private Date endDate;

    @ExcelProperty(value = "价格")
    @Excel(name = "价格")
    private BigDecimal price;

    @ExcelProperty(value = "价格类型")
    @Excel(name = "价格类型")
    private String type;

    @ExcelProperty(value = "省份代码")
    @Excel(name = "省份代码")
    private String regionCode;

    @ExcelProperty(value = "省份名称")
    @Excel(name = "省份名称")
    private String regionName;

    @ExcelProperty(value = "系数")
    @Excel(name = "系数")
    private String ntsFactor;

    @ExcelProperty(value = "是否启用")
    @Excel(name = "是否启用")
    private Integer enabled;

    @ExcelProperty(value = "创建人ID")
    @Excel(name = "创建人ID")
    private Long createdBy;

    @ExcelProperty(value = "创建人名称")
    @Excel(name = "创建人名称")
    private String createdByName;

    @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss", timezone = "GMT+8")
    @ExcelProperty(value = "创建时间")
    @Excel(name = "创建时间", format = "yyyy-MM-dd HH:mm:ss", width = 20)
    private Date createdDate;

    @ExcelProperty(value = "修改人ID")
    @Excel(name = "修改人ID")
    private Long lastModifiedBy;

    @ExcelProperty(value = "修改人名称")
    @Excel(name = "修改人名称")
    private String lastModifiedByName;

    @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss", timezone = "GMT+8")
    @ExcelProperty(value = "修改时间")
    @Excel(name = "修改时间", format = "yyyy-MM-dd HH:mm:ss", width = 20)
    private Date lastModified;

    @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss", timezone = "GMT+8")
    @ExcelProperty(value = "系统修改时间")
    @Excel(name = "系统修改时间", format = "yyyy-MM-dd HH:mm:ss", width = 20)
    private Date systemLastModified;

    @ExcelProperty(value = "是否删除")
    @Excel(name = "是否删除")
    private Integer deleted;

    @ExcelProperty(value = "exfield1")
    @Excel(name = "exfield1")
    private String exfield1;

    @ExcelProperty(value = "exfield2")
    @Excel(name = "exfield2")
    private String exfield2;

    @ExcelProperty(value = "exfield3")
    @Excel(name = "exfield3")
    private String exfield3;

    @ExcelProperty(value = "exfield4")
    @Excel(name = "exfield4")
    private String exfield4;

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.id
     *
     * @return the value of intern_project_price.id
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public Long getId() {
        return id;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.id
     *
     * @param id the value for intern_project_price.id
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.prod_code
     *
     * @return the value of intern_project_price.prod_code
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public String getProdCode() {
        return prodCode;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.prod_code
     *
     * @param prodCode the value for intern_project_price.prod_code
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setProdCode(String prodCode) {
        this.prodCode = prodCode == null ? null : prodCode.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.prod_name_en
     *
     * @return the value of intern_project_price.prod_name_en
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public String getProdNameEn() {
        return prodNameEn;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.prod_name_en
     *
     * @param prodNameEn the value for intern_project_price.prod_name_en
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setProdNameEn(String prodNameEn) {
        this.prodNameEn = prodNameEn == null ? null : prodNameEn.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.prod_name_cn
     *
     * @return the value of intern_project_price.prod_name_cn
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public String getProdNameCn() {
        return prodNameCn;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.prod_name_cn
     *
     * @param prodNameCn the value for intern_project_price.prod_name_cn
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setProdNameCn(String prodNameCn) {
        this.prodNameCn = prodNameCn == null ? null : prodNameCn.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.status
     *
     * @return the value of intern_project_price.status
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public String getStatus() {
        return status;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.status
     *
     * @param status the value for intern_project_price.status
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setStatus(String status) {
        this.status = status == null ? null : status.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.comments
     *
     * @return the value of intern_project_price.comments
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public String getComments() {
        return comments;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.comments
     *
     * @param comments the value for intern_project_price.comments
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setComments(String comments) {
        this.comments = comments == null ? null : comments.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.start_date
     *
     * @return the value of intern_project_price.start_date
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public Date getStartDate() {
        return startDate;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.start_date
     *
     * @param startDate the value for intern_project_price.start_date
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.end_date
     *
     * @return the value of intern_project_price.end_date
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public Date getEndDate() {
        return endDate;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.end_date
     *
     * @param endDate the value for intern_project_price.end_date
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.price
     *
     * @return the value of intern_project_price.price
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public BigDecimal getPrice() {
        return price;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.price
     *
     * @param price the value for intern_project_price.price
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.type
     *
     * @return the value of intern_project_price.type
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public String getType() {
        return type;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.type
     *
     * @param type the value for intern_project_price.type
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setType(String type) {
        this.type = type == null ? null : type.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.region_code
     *
     * @return the value of intern_project_price.region_code
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public String getRegionCode() {
        return regionCode;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.region_code
     *
     * @param regionCode the value for intern_project_price.region_code
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setRegionCode(String regionCode) {
        this.regionCode = regionCode == null ? null : regionCode.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.region_name
     *
     * @return the value of intern_project_price.region_name
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public String getRegionName() {
        return regionName;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.region_name
     *
     * @param regionName the value for intern_project_price.region_name
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setRegionName(String regionName) {
        this.regionName = regionName == null ? null : regionName.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.nts_factor
     *
     * @return the value of intern_project_price.nts_factor
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public String getNtsFactor() {
        return ntsFactor;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.nts_factor
     *
     * @param ntsFactor the value for intern_project_price.nts_factor
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setNtsFactor(String ntsFactor) {
        this.ntsFactor = ntsFactor == null ? null : ntsFactor.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.enabled
     *
     * @return the value of intern_project_price.enabled
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public Integer getEnabled() {
        return enabled;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.enabled
     *
     * @param enabled the value for intern_project_price.enabled
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setEnabled(Integer enabled) {
        this.enabled = enabled;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.created_by
     *
     * @return the value of intern_project_price.created_by
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public Long getCreatedBy() {
        return createdBy;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.created_by
     *
     * @param createdBy the value for intern_project_price.created_by
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setCreatedBy(Long createdBy) {
        this.createdBy = createdBy;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.created_by_name
     *
     * @return the value of intern_project_price.created_by_name
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public String getCreatedByName() {
        return createdByName;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.created_by_name
     *
     * @param createdByName the value for intern_project_price.created_by_name
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setCreatedByName(String createdByName) {
        this.createdByName = createdByName == null ? null : createdByName.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.created_date
     *
     * @return the value of intern_project_price.created_date
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public Date getCreatedDate() {
        return createdDate;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.created_date
     *
     * @param createdDate the value for intern_project_price.created_date
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setCreatedDate(Date createdDate) {
        this.createdDate = createdDate;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.last_modified_by
     *
     * @return the value of intern_project_price.last_modified_by
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public Long getLastModifiedBy() {
        return lastModifiedBy;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.last_modified_by
     *
     * @param lastModifiedBy the value for intern_project_price.last_modified_by
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setLastModifiedBy(Long lastModifiedBy) {
        this.lastModifiedBy = lastModifiedBy;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.last_modified_by_name
     *
     * @return the value of intern_project_price.last_modified_by_name
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public String getLastModifiedByName() {
        return lastModifiedByName;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.last_modified_by_name
     *
     * @param lastModifiedByName the value for intern_project_price.last_modified_by_name
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setLastModifiedByName(String lastModifiedByName) {
        this.lastModifiedByName = lastModifiedByName == null ? null : lastModifiedByName.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.last_modified
     *
     * @return the value of intern_project_price.last_modified
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public Date getLastModified() {
        return lastModified;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.last_modified
     *
     * @param lastModified the value for intern_project_price.last_modified
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setLastModified(Date lastModified) {
        this.lastModified = lastModified;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.system_last_modified
     *
     * @return the value of intern_project_price.system_last_modified
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public Date getSystemLastModified() {
        return systemLastModified;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.system_last_modified
     *
     * @param systemLastModified the value for intern_project_price.system_last_modified
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setSystemLastModified(Date systemLastModified) {
        this.systemLastModified = systemLastModified;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.deleted
     *
     * @return the value of intern_project_price.deleted
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public Integer getDeleted() {
        return deleted;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.deleted
     *
     * @param deleted the value for intern_project_price.deleted
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setDeleted(Integer deleted) {
        this.deleted = deleted;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.exfield1
     *
     * @return the value of intern_project_price.exfield1
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public String getExfield1() {
        return exfield1;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.exfield1
     *
     * @param exfield1 the value for intern_project_price.exfield1
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setExfield1(String exfield1) {
        this.exfield1 = exfield1 == null ? null : exfield1.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.exfield2
     *
     * @return the value of intern_project_price.exfield2
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public String getExfield2() {
        return exfield2;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.exfield2
     *
     * @param exfield2 the value for intern_project_price.exfield2
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setExfield2(String exfield2) {
        this.exfield2 = exfield2 == null ? null : exfield2.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.exfield3
     *
     * @return the value of intern_project_price.exfield3
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public String getExfield3() {
        return exfield3;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.exfield3
     *
     * @param exfield3 the value for intern_project_price.exfield3
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setExfield3(String exfield3) {
        this.exfield3 = exfield3 == null ? null : exfield3.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column intern_project_price.exfield4
     *
     * @return the value of intern_project_price.exfield4
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public String getExfield4() {
        return exfield4;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column intern_project_price.exfield4
     *
     * @param exfield4 the value for intern_project_price.exfield4
     *
     * @mbg.generated Fri Mar 25 10:19:05 CST 2022
     */
    public void setExfield4(String exfield4) {
        this.exfield4 = exfield4 == null ? null : exfield4.trim();
    }
}